package com.chixing.day14_map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
    Map<key,Value>
        key:唯一（不能重复）
*/
public class MapDemo {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("英国",12);
        map.put("日本",2);//return null
        map.put("法国",22);
        map.put("法国",14);//return 22
        map.put("新西兰",12);//return null
        map.put("俄罗斯",12);//return null
        map.put(null,24);
        map.put(null,22);
        System.out.println(map);

        //1. 获得map键值对的个数
        System.out.println("键个数："+map.size());

        //2. 获得新西兰 对应的金牌数
        System.out.println("新西兰 对应的金牌数"+map.get("新西兰"));

        //3. 判断 中国的数据是否存在
        System.out.println("中国的数据是否存在:"+map.containsKey("中国"));

        //4. 获得到所有的 key 国家名称，并遍历出来
        for (String i :map.keySet()){
            System.out.println("国家:"+i);
        }

        //5. 获得到所有的 value 金牌数，并遍历出来
        for (Integer i :map.values()){
            System.out.println("金牌数:"+i);
        }

        //6. 获得到所有的 key-value，并遍历出来
        for (String i :map.keySet()){
            System.out.println("国家:"+i+",金牌数:"+map.get(i));
        }

        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        Iterator<Map.Entry<String,Integer>> iterator = entrySet.iterator();
        while (iterator.hasNext()){
             Map.Entry<String,Integer> entry = iterator.next();
             entry.getKey();
             entry.getValue();
        }

        //7. 删除 日本这条记录
        map.remove("日本");
        System.out.println(map);

    }
}
